package juego;

import objetos.aeronaves.Algo42;
import org.jdom.*;

/*
 * Clase que modela un jugador. Guarda su nombre, el puntaje total obtenido a lo largo
 * de todo el juego, y su algo42.
 */
public class Jugador {
	private String nombre;
	private int puntaje;
	private Algo42 algo42;

	public Jugador(String nombre) {
		this.nombre = nombre;
		this.puntaje = 0;
		this.algo42 = new Algo42();
	}

	public void modificarPuntaje(int num) {
		this.puntaje += num;
	}

	public void setAlgo42(Algo42 algo42) {
		this.algo42 = algo42;
	}

	public Algo42 getAlgo42() {
		return algo42;
	}

	public String getNombre() {
		return nombre;
	}

	public int getPuntaje() {
		return puntaje;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/* Persistencia Instancia a partir de NodoXML */
	public Jugador(Element nodo) {
		this.nombre = nodo.getAttributeValue("nombre");
		this.puntaje = Integer.parseInt(nodo.getAttributeValue("puntaje"));

		this.algo42 = new Algo42(nodo.getChild("algo42"));
	}

	/* Persistencia NodoXML a partir de Instancia */
	public Element obtenerNodo() {
		Element nodo = new Element("jugador");

		nodo.setAttribute(new Attribute("nombre", this.nombre));
		nodo
				.setAttribute(new Attribute("puntaje", String
						.valueOf(this.puntaje)));

		nodo.addContent(this.getAlgo42().obtenerNodo());

		return nodo;
	}

}
